Software applications can perform a virtually limitless set of tasks today. Applications span all categories, from knowledge worker applications like MICROSOFT™ Word and Excel, to connectivity applications like email and instant messaging clients, to business applications like MICROSOFT™ Configuration Manager and BizTalk, to server applications like MICROSOFT™ Exchange, and so forth. Although ease of use is often a feature considered by software designers, due to the many functions that software applications provide, they cannot all work the same. Each application often involves user education to enable users to get the greatest benefit from the application and to learn each of the application's differentiating abilities.
Including instructional material directly within a software application has long been a common feature. Applications often provide a Help menu, F1 or other help invoking keystrokes, and context-sensitive help information. Help information has evolved from early information that resembled paper documentation (e.g., MICROSOFT™ HLP files with tables of contents and indexes like books) to more web-like content today with the rise of the Internet (e.g., MICROSOFT™ CHM files that include links, more visual content, and so forth). With the increase in continuously available Internet connections, many applications include online instructional material from the software designer and client-side logic for combining both online and locally available help information.
Many online forums often develop for discussing the use of popular software products. In such forums, users may discuss how to perform specific tasks, solving problems with an application, configuring the application to behave in a certain way, exchanging developer resources such as scripts, and so on. Forums may include sites that span products, such as MICROSOFT™ TechNet (technet.microsoft.com), as well as product specific sites, such as www.exchangeserverhelp.com for discussing MICROSOFT™ Exchange Server. Users often locate these forums and sites using search engines through a web browser. For example, a user might search using keywords related to a particular problem the user is facing or task the user is trying to perform.
One problem with current software application instructional material is that it is very static in nature. Even for software applications that include an online component, the instructional material provided by the online component is often updated very slowly, and may not include helpful information about all of the problems a user may have with the application. Users still find that they are digging through search results to try to find an answer to obscure or unanticipated problems. Blogs and other web sites usually provide more relevant and updated content. As a result, the documentation resources of the product team are wasted, as customers scour the web for the information they desire, bypassing the already stale content delivered by the product learn. In addition, customers find help through an experience that is disconnected from the application, and often loses the context of what the user is doing. This increases the amount of material that the user has to sift through to find helpful information. In addition, as the product team often exerts no control over these outside sources of information, they cannot assure the quality of the information or that the suggestions do not encourage use of the product outside of its design parameters.
In one example scenario, a novice user is executing a WINDOWS™ POWERSHELL™ script from a scripting editor shipped with the WINDOWS™ POWERSHELL™ product. The software raises an exception with a specific error code. The user normally performs one of the following actions: 1) go to product documentation available online or within the product and search for the error code or exception, or 2) go to a Web browser, open a search engine, and search for the error code. As a novice user, the above actions may render him varying results. Product documentation may not have the correct error code or updated knowledge base articles published to address the specific error. Product documentation may also lack guidance in the real world usage scenario, which may be a combination of multiple products from the same or different companies. Online search may cover product documentation, community forums, and other knowledge places and present a large number of search results. This may retrieve large numbers of results that may not be targeted to the issue (or applicable to the current context) the customer is facing. Additionally, the customer makes a context switch from the current task (and tool) to find this information. The user is now confused. The user may conclude that he needs to spend more time to resolve the issue and the product guidance is too limited.
In another scenario, an information technology (IT) administrator at the Contoso organization uses scripts to automate his daily tasks. One day he notices that he needs a script to manage the automated installation of new operating system security patches. He would like to explore the available scripts to support this task from his enterprise internal repository or from cloud script repositories. This is currently a manual, serial search of various sources to find the information, if the information exists at all.